package com.travel.dao.tourist_demand;


import com.travel.pojo.tourist_demand.Address;
import com.travel.pojo.tourist_demand.TouristImage;
import com.travel.pojo.tourist_demand.TouristTrabelDemand;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import java.util.List;

@Mapper
@Component
public interface TouristTrabelDemandMapper {

     //根据code查三个关联表数据
     TouristTrabelDemand getTlDemandByCode(@Param("code") int code);

     //根据id查三个关联表数据
     TouristTrabelDemand getTlDemandById(@Param("id") int id);

     //根据地名查三个关联表的数据
     List<TouristTrabelDemand> getTlDemandByAddress(@Param("asname")String adname);

     //根据id查团
     TouristTrabelDemand getTouristTrabelDemandById(@Param("tid")int tid);

     //根据code查团
     TouristTrabelDemand getTouristTrabelDemandByCode(@Param("code")int code);

     //根据code查团数据和用户数据
     TouristTrabelDemand getUserAndTDemandByCode(@Param("code")int code);

     //查询address表中有无数据
     int getAddressByAddressName(@Param("addressname")String addressName);

     //插入团数据
     int insertTouristTrabelDemand(TouristTrabelDemand trabelDemand);

     //插入团的子活动数据
     int addActivity(Address address);

     //将发布需求的id更新到用户数据中
     void updateTouristTrabelUser(@Param("userid")int userid,@Param("tid") int tid);

     //向没有tid的用户表更新tid
     void updateUserTidByUserId(@Param("userid") int userid,@Param("tid") int tid);

     //更新address表中的startcode为1，表示活动开始
     int updateStartcodeOneByaid(@Param("aid")int aid);

     //更新address表中的startcode为2，表示活动结束
     int updateStartcodeTwoByaid(@Param("aid")int aid);

     //更新团数据表singin为1，即开启签到-
     int updateSinginByOneBytid(@Param("tid")int tid);

     //更新团数据表singin为2，即签到结束-
     int updateSinginByTwoBytid(@Param("tid")int tid);

     //更新用户表中的singin为1，即表示未签到
     int updateUserSinginOntById(@Param("id")int id);

     //更新用户表中的singin为2，即表示已签到
     int updateUserSinginTwoById(@Param("id")int id);

     //删除子活动
     int deleteActivity(@Param("aid")int aid);

     //删除团
     int deleteTrabelDemandController(@Param("tid")int tid);

     //退出团
     int updateUserTidById(@Param("id")int id);

     //查团头图
     TouristImage queryImage(@Param("imgname")String imgname);

     //插入团头图
     int insertImage(@Param("imgname")String imgname,@Param("imgurl")String url);

     //修改用户类型
     int updateUserTypeById1(@Param("userid")int userid);

     //修改用户类型
     int updateUserTypeById2(@Param("userid")int userid);



}
